﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web.Security;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Image = System.Drawing.Image;

namespace Recetas_Web
{
    public partial class WebForm1 : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(Request.Params["id"]);
            //lblNombreReceta.Text = id.ToString();

            Datos obdatos = new Datos();
            DataTable tabla = new DataTable();

            string consulta = "Select * from Recetas WHERE CodReceta = "+id;
            tabla = obdatos.consultar_especifico(consulta, "Recetas");

            string idReceta = tabla.Rows[0]["CodReceta"].ToString();
            //Setea el Nombre de la Receta en su label
            lblNombreReceta.Text = tabla.Rows[0][1].ToString();

            //Setea los ingredientes de la Receta 
            txtIngredientes.Text = tabla.Rows[0][2].ToString();

            //Setea dificultad
            lblDif.Text = tabla.Rows[0][4].ToString();

            //Setea Preparacion
            lblPreparacion.Text = tabla.Rows[0][3].ToString();

            //Setea Time
            lblTime.Text = tabla.Rows[0][6].ToString();

            //VISIBILIDAD LINK ELIMINAR RECETA

            //USUARIOS
            if (Session["name"] != null)
            {
                DataTable tabla2 = new DataTable();
                int idUsuario = obtener_Id("Usuarios", "CodUsuario", (string)Session["Name"].ToString(), "Usuario");
                string consultaBusqueda = "SELECT Usuarios.CodUsuario " +
                    "FROM Usuarios INNER JOIN RecetasXUsuario ON Usuarios.CodUsuario=RecetasXUsuario.CodUsuario " +
                    "WHERE RecetasXUsuario.CodReceta = '" + idReceta + "'";

                tabla2 = obdatos.consultar_especifico(consultaBusqueda, "Recetas");

                string idAutorReceta = tabla2.Rows[0]["CodUsuario"].ToString();

                if (idAutorReceta == Convert.ToString(idUsuario))
                {
                    lbtnEliminarReceta.Visible = true;
                }
                else
                {
                    lbtnEliminarReceta.Visible = false;
                }   
            }

            //ADMIN
            if (Session["Name"] != null)
            {
                int idUsuario = obtener_Id("Usuarios", "CodUsuario", (string)Session["Name"].ToString(), "Usuario");
                DataTable tabla3 = new DataTable();
                string consultaBusqueda = "SELECT Tipo FROM Usuarios WHERE " + "CodUsuario = '" + idUsuario + "'";

                tabla3 = obdatos.consultar_especifico(consultaBusqueda, "Usuarios");
                string admin = tabla3.Rows[0]["Tipo"].ToString();
                if (admin == "True")
                {
                    lbtnEliminarReceta.Visible = true;
                }
                else
                {
                    lbtnEliminarReceta.Visible = false;
                }
            }
        }

        protected void lbtnEliminarReceta_Click(object sender, EventArgs e)
        {
            Datos obdatos = new Datos();

            int id = Convert.ToInt32(Request.Params["id"]);
            String condicion = "CodReceta =" + id;

            obdatos.eliminar("Recetas", condicion);
            Server.Transfer("Principal.aspx");
        }

        private int obtener_Id(string Tabla, string columna_Id, string nombreColumna, string columna_nombreId)
        {
            Datos obDatos = new Datos();
            string ConsultaSQL = "SELECT * FROM " + Tabla + " WHERE " + columna_nombreId + " = '" + nombreColumna + "'";

            DataTable tabla = new DataTable();
            tabla = obDatos.consultar_especifico(ConsultaSQL, Tabla);

            int valor = Convert.ToInt32(tabla.Rows[0][columna_Id].ToString());
            return valor;
        }
    }
}